<html>
<head><meta charset="utf-8"><title>meeting-2018-11-29 · t-lang/wg-unsafe-code-guidelines · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/index.html">t-lang/wg-unsafe-code-guidelines</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html">meeting-2018-11-29</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="148796685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148796685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148796685">(Nov 29 2018 at 16:04)</a>:</h4>
<p>Hello friends! Any agenda items?</p>



<a name="148797613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797613">(Nov 29 2018 at 16:16)</a>:</h4>
<p>One thing that came up in the representation of pointers...</p>



<a name="148797639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797639">(Nov 29 2018 at 16:16)</a>:</h4>
<p>the defns of "representation", "validity" and "safety".</p>



<a name="148797678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797678">(Nov 29 2018 at 16:17)</a>:</h4>
<p>If we're using the defns of <a href="https://www.ralfj.de/blog/2018/08/22/two-kinds-of-invariants.html" target="_blank" title="https://www.ralfj.de/blog/2018/08/22/two-kinds-of-invariants.html">https://www.ralfj.de/blog/2018/08/22/two-kinds-of-invariants.html</a> then we should say so somewhere!</p>



<a name="148797679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797679">(Nov 29 2018 at 16:17)</a>:</h4>
<p>cc <span class="user-group-mention" data-user-group-id="810">@WG-unsafe-code-guidelines</span></p>



<a name="148797703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797703">(Nov 29 2018 at 16:17)</a>:</h4>
<p><span class="user-mention" data-user-id="128323">@Alan Jeffrey</span> sounds like something to pop in the introduction</p>



<a name="148797706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797706">(Nov 29 2018 at 16:18)</a>:</h4>
<p>Also, are we okay with representation depending on validity?</p>



<a name="148797710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797710">(Nov 29 2018 at 16:18)</a>:</h4>
<p>which i can do</p>



<a name="148797766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797766">(Nov 29 2018 at 16:18)</a>:</h4>
<p>i think representation and validity will be combined, but we wanted the discussions to be separate</p>



<a name="148797783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797783">(Nov 29 2018 at 16:18)</a>:</h4>
<p>I think that was the whole <em>point</em> of validity? (to help us figure out what repr optimizations we could do)</p>



<a name="148797818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797818">(Nov 29 2018 at 16:19)</a>:</h4>
<p>I think validity on a single type level depends on representation</p>



<a name="148797833"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797833" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797833">(Nov 29 2018 at 16:19)</a>:</h4>
<p>and representation on a sum type level depends on validity of sub-types</p>



<a name="148797850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797850">(Nov 29 2018 at 16:19)</a>:</h4>
<p>I guess what I mean is that they are intertwined; e.g., we can optimize <code>Option&lt;&amp;T&gt;</code> to use NULL because the repr invariant assures it can never be NULL</p>



<a name="148797852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797852">(Nov 29 2018 at 16:19)</a>:</h4>
<p>(not the right word, but I can't think of a better one - member types, maybe?)</p>



<a name="148797923"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797923" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797923">(Nov 29 2018 at 16:20)</a>:</h4>
<p>Yes, the problem is that validity of references includes being dereferenceable, so representation now depends on the state of all memory.</p>



<a name="148797934"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797934" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797934">(Nov 29 2018 at 16:20)</a>:</h4>
<p>no, validity depends on the state of all memory</p>



<a name="148797943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797943">(Nov 29 2018 at 16:21)</a>:</h4>
<p>representation does not</p>



<a name="148797961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797961">(Nov 29 2018 at 16:21)</a>:</h4>
<p>I guess you could say that there is some subset of validity ... "representation validity" or something.</p>



<a name="148797964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797964">(Nov 29 2018 at 16:21)</a>:</h4>
<p>I think that what <span class="user-mention" data-user-id="128323">@Alan Jeffrey</span> meant here is that the definitions of the terms "representation", "validity", and "safety", should be in the introduction - otherwise it is very hard to follow along.</p>



<a name="148797979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797979">(Nov 29 2018 at 16:21)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> yeah</p>



<a name="148797984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148797984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148797984">(Nov 29 2018 at 16:22)</a>:</h4>
<p>This is independent from whether we decide to combine representation and validity or not</p>



<a name="148798022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798022">(Nov 29 2018 at 16:22)</a>:</h4>
<p>yes, makes sense, and it seems like it may take a bit of back and forth to settle precisely how they are layered :)</p>



<a name="148798040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798040">(Nov 29 2018 at 16:22)</a>:</h4>
<p>and some of this layering depends on decisions we have yet to make</p>



<a name="148798043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798043">(Nov 29 2018 at 16:22)</a>:</h4>
<p>i'll try to get the intro submitted--it will take liberally from both gankro's and ralf's posts</p>



<a name="148798047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798047">(Nov 29 2018 at 16:22)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yes, something like "bitstring validity" which just says whether a sequence of bits is possibly valid for <code>T</code> without looking at memory.</p>



<a name="148798048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798048">(Nov 29 2018 at 16:22)</a>:</h4>
<p>like, I know some people want to make <code>&amp;T</code> valid only if it points to <em>valid</em> data</p>



<a name="148798080"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798080" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798080">(Nov 29 2018 at 16:23)</a>:</h4>
<blockquote>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yes, something like "bitstring validity" which just says whether a sequence of bits is possibly valid for <code>T</code> without looking at memory.</p>
</blockquote>
<p>I still claim this is not a useful notion and only confusing. in a stateful language such as Rust, <em>all</em> invariants, statements, things you can say may depend on memory. that's just something to get used to. if you dont like it, use Haskell. ;)</p>



<a name="148798095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798095">(Nov 29 2018 at 16:24)</a>:</h4>
<p>I think it is worth to have some "loose" definitions for now, we can revisit them later, but it comes over and over again that discussions get mixed because we can tell these really appart</p>



<a name="148798121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798121">(Nov 29 2018 at 16:24)</a>:</h4>
<p>So a value of type <code>&amp;T</code>would be bitstring-valid if it's non-zero and a multiple of <code>T</code>s alignment.</p>



<a name="148798143"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798143" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798143">(Nov 29 2018 at 16:24)</a>:</h4>
<p>I agree with <span class="user-mention" data-user-id="120791">@RalfJ</span> here</p>



<a name="148798177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798177">(Nov 29 2018 at 16:24)</a>:</h4>
<p>and if you <em>really</em> insist, your "bitstring validity" is just "there exists a memory such that this is valid". there are no separate choices to be made.</p>



<a name="148798189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798189">(Nov 29 2018 at 16:24)</a>:</h4>
<p>The niche optimization just depends on bitstring validity.</p>



<a name="148798221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798221">(Nov 29 2018 at 16:25)</a>:</h4>
<p>So we'd have repr depending on "bitstring validity" rather than all of validity.</p>



<a name="148798224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798224">(Nov 29 2018 at 16:25)</a>:</h4>
<blockquote>
<p>The niche optimization just depends on bitstring validity.</p>
</blockquote>
<p>hm. I can see how you see it that way, though I do not think of it in these terms</p>



<a name="148798231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798231">(Nov 29 2018 at 16:25)</a>:</h4>
<p><span class="user-mention" data-user-id="126854">@avadacatavra</span> did we have an agenda?</p>



<a name="148798245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798245">(Nov 29 2018 at 16:25)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> i wanted to see if anyone had agenda items</p>



<a name="148798247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798247">(Nov 29 2018 at 16:26)</a>:</h4>
<p>(I know I failed utterly to do the things I wanted to do last week, which I will blame on being laid out sick the last 2 days)</p>



<a name="148798292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798292">(Nov 29 2018 at 16:26)</a>:</h4>
<p>Ok, let's back up a level</p>



<a name="148798296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798296">(Nov 29 2018 at 16:26)</a>:</h4>
<p>I have one agenda item</p>



<a name="148798351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798351">(Nov 29 2018 at 16:27)</a>:</h4>
<p><span class="user-mention" data-user-id="126854">@avadacatavra</span> please go over the agenda, we can discuss my item at the end if there is time (it's the bool stuff)</p>



<a name="148798404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798404">(Nov 29 2018 at 16:28)</a>:</h4>
<p>Agenda:</p>
<ul>
<li>repr discussions:<ul>
<li>int/fp rough draft submitted (i saw that there's been a lot of discussion but haven't read it)</li>
<li>vector types</li>
<li>function pointers</li>
<li>pointers/references</li>
<li>enum</li>
<li>introduction (i'm working on it)</li>
</ul>
</li>
<li>validity discussions: have we actually started them yet?</li>
<li>I've rebooted the formal verification working group if anyone here is interested in that</li>
</ul>



<a name="148798437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798437">(Nov 29 2018 at 16:29)</a>:</h4>
<p>is there nesting to that list ? :)</p>



<a name="148798479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798479">(Nov 29 2018 at 16:29)</a>:</h4>
<blockquote>
<p>is there nesting to that list ? :)</p>
</blockquote>
<p>...i'm working on it....</p>



<a name="148798542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798542">(Nov 29 2018 at 16:30)</a>:</h4>
<p>:D</p>



<a name="148798558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798558">(Nov 29 2018 at 16:30)</a>:</h4>
<p>/me thinks that was unnecessarily difficult</p>



<a name="148798589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798589">(Nov 29 2018 at 16:31)</a>:</h4>
<p>Do we have any other repr writeups needed?</p>



<a name="148798599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798599">(Nov 29 2018 at 16:31)</a>:</h4>
<p>I sort of recall agreeing to do "enum"?</p>



<a name="148798601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798601">(Nov 29 2018 at 16:31)</a>:</h4>
<p>Pointers</p>



<a name="148798607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798607">(Nov 29 2018 at 16:31)</a>:</h4>
<p>but I didn't :P</p>



<a name="148798609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798609">(Nov 29 2018 at 16:31)</a>:</h4>
<p><a href="https://github.com/rust-rfcs/unsafe-code-guidelines/issues?q=is%3Aissue+is%3Aopen+label%3Atopic-repr" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/issues?q=is%3Aissue+is%3Aopen+label%3Atopic-repr">https://github.com/rust-rfcs/unsafe-code-guidelines/issues?q=is%3Aissue+is%3Aopen+label%3Atopic-repr</a></p>



<a name="148798610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798610">(Nov 29 2018 at 16:31)</a>:</h4>
<p>references?</p>



<a name="148798616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798616">(Nov 29 2018 at 16:31)</a>:</h4>
<p>doesnt even have someone assigned yet</p>



<a name="148798626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798626">(Nov 29 2018 at 16:31)</a>:</h4>
<p>I got assigned it</p>



<a name="148798628"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798628" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798628">(Nov 29 2018 at 16:31)</a>:</h4>
<p>enums is the big one, the one from pointers, we might want to move it into <code>int</code>/<code>fp</code>/..., it might be "trivial"</p>



<a name="148798678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798678">(Nov 29 2018 at 16:32)</a>:</h4>
<p>and then I guess the other open issues should get an "postponed / open question" label or so?</p>



<a name="148798682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798682">(Nov 29 2018 at 16:32)</a>:</h4>
<p><a href="https://github.com/asajeffrey/unsafe-code-guidelines/blob/repr-pointers/reference/src/representation/pointers.md" target="_blank" title="https://github.com/asajeffrey/unsafe-code-guidelines/blob/repr-pointers/reference/src/representation/pointers.md">https://github.com/asajeffrey/unsafe-code-guidelines/blob/repr-pointers/reference/src/representation/pointers.md</a></p>



<a name="148798700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798700">(Nov 29 2018 at 16:32)</a>:</h4>
<p>ah right we cannot assign alan because he's not a member of the repo or so? can we change that?^^</p>



<a name="148798716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798716">(Nov 29 2018 at 16:33)</a>:</h4>
<p>It got bogged down with discssions of basic defns.</p>



<a name="148798720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798720">(Nov 29 2018 at 16:33)</a>:</h4>
<p>I can fix that</p>



<a name="148798741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798741">(Nov 29 2018 at 16:33)</a>:</h4>
<p><span class="user-mention" data-user-id="128323">@Alan Jeffrey</span> what is your GH username?</p>



<a name="148798747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798747">(Nov 29 2018 at 16:33)</a>:</h4>
<p><span class="user-mention" data-user-id="128323">@Alan Jeffrey</span>  looks good, you might want to revise it now that we have hopefully clarified repr and validity, it should get a bit simpler if it only has to focus on repr, but don't throw the validity parts away, we'll need them soon :)</p>



<a name="148798749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798749">(Nov 29 2018 at 16:33)</a>:</h4>
<p>also,, <span class="user-mention" data-user-id="132920">@gnzlbg</span>, I'll add you too</p>



<a name="148798751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798751">(Nov 29 2018 at 16:33)</a>:</h4>
<p>asajeffrey</p>



<a name="148798803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798803">(Nov 29 2018 at 16:34)</a>:</h4>
<p>woo look at us accomplishing things!</p>



<a name="148798816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798816">(Nov 29 2018 at 16:34)</a>:</h4>
<p>you both need to <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/invitations" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/invitations">confirm with this link</a></p>



<a name="148798824"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798824" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798824">(Nov 29 2018 at 16:34)</a>:</h4>
<p>oh I gotta go or miss my bus, o7</p>



<a name="148798826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798826">(Nov 29 2018 at 16:34)</a>:</h4>
<p>ok, so it seems like things are on track with the repr writeups</p>



<a name="148798841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798841">(Nov 29 2018 at 16:35)</a>:</h4>
<p>any repr writeups reading for merging?</p>



<a name="148798847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798847">(Nov 29 2018 at 16:35)</a>:</h4>
<p>layout of vectors maybe, there are a couple of open questions</p>



<a name="148798861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798861">(Nov 29 2018 at 16:36)</a>:</h4>
<p>I'm wondering if there is something we can say</p>



<a name="148798904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798904">(Nov 29 2018 at 16:36)</a>:</h4>
<p>about e.g. single variant structs</p>



<a name="148798910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798910">(Nov 29 2018 at 16:36)</a>:</h4>
<p>I sort of forget though, have to review</p>



<a name="148798917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798917">(Nov 29 2018 at 16:36)</a>:</h4>
<p>I feel like there was <em>some</em> basic minimum that a lot of folks rely on in practice anyhow, probably newtype layout</p>



<a name="148798922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798922">(Nov 29 2018 at 16:36)</a>:</h4>
<p>there is an issue open about homogeneous structs, of which single variant are a subset</p>



<a name="148798926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798926">(Nov 29 2018 at 16:36)</a>:</h4>
<p>I created an open-question label for things we want to revisit</p>



<a name="148798946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798946">(Nov 29 2018 at 16:37)</a>:</h4>
<p>I added <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/50" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/50">https://github.com/rust-rfcs/unsafe-code-guidelines/issues/50</a></p>



<a name="148798955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798955">(Nov 29 2018 at 16:37)</a>:</h4>
<blockquote>
<p>there is an issue open about homogeneous structs, of which single variant are a subset</p>
</blockquote>
<p>yes but I think the single variant may be something we could agree on <em>now</em></p>



<a name="148798961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798961">(Nov 29 2018 at 16:37)</a>:</h4>
<p>with homogeneity left for later</p>



<a name="148798964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798964">(Nov 29 2018 at 16:37)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> do you mean saying something in the spirit of <code>repr(transparent)</code> ?</p>



<a name="148798967"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798967" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798967">(Nov 29 2018 at 16:37)</a>:</h4>
<p>that was my impression at some point</p>



<a name="148798976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798976">(Nov 29 2018 at 16:37)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> just for layout I assume, not for ABI</p>



<a name="148798980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798980">(Nov 29 2018 at 16:37)</a>:</h4>
<p>right</p>



<a name="148798986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798986">(Nov 29 2018 at 16:37)</a>:</h4>
<p><code>#[repr(transparent)]</code> would extend it to ABI</p>



<a name="148798990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798990">(Nov 29 2018 at 16:37)</a>:</h4>
<p>it's certainly true <em>now</em></p>



<a name="148798991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148798991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148798991">(Nov 29 2018 at 16:38)</a>:</h4>
<p>so, you can transmute but not pass by value</p>



<a name="148799033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799033">(Nov 29 2018 at 16:38)</a>:</h4>
<p>and I can't imagine it ever <em>not</em> being true</p>



<a name="148799048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799048">(Nov 29 2018 at 16:38)</a>:</h4>
<p>but then I guess that's the question :)</p>



<a name="148799057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799057">(Nov 29 2018 at 16:38)</a>:</h4>
<p>Is there a reason why saying that they have the same size and alignment is a bad idea?</p>



<a name="148799076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799076">(Nov 29 2018 at 16:39)</a>:</h4>
<p>I guess that sort of implies also that it must start at offset 0 :)</p>



<a name="148799102"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799102" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799102">(Nov 29 2018 at 16:40)</a>:</h4>
<p>but since it only has one element, there aren't any other offsets ? I don't recall if we allow <code>repr(Rust)</code> struct fields to start at a different offset than zero, probably we don't say anything about this anywhere, but in practice we don't</p>



<a name="148799163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799163">(Nov 29 2018 at 16:40)</a>:</h4>
<p>right we're talking about committing to it</p>



<a name="148799181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799181">(Nov 29 2018 at 16:40)</a>:</h4>
<p>anyway I'll maybe propose it</p>



<a name="148799183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799183">(Nov 29 2018 at 16:40)</a>:</h4>
<p>sounds good to me--any further discussion can go in gh</p>



<a name="148799186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799186">(Nov 29 2018 at 16:40)</a>:</h4>
<p>We could open an issue to see if anyone has anything against that: <code>repr(Rust)</code> struct with one field have the field at offset zero, or in general</p>



<a name="148799202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799202">(Nov 29 2018 at 16:41)</a>:</h4>
<p>is that something that should have an rfc?</p>



<a name="148799206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799206">(Nov 29 2018 at 16:41)</a>:</h4>
<p>I was going to open a PR</p>



<a name="148799209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799209">(Nov 29 2018 at 16:41)</a>:</h4>
<p>and link to it from the issues</p>



<a name="148799212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799212">(Nov 29 2018 at 16:41)</a>:</h4>
<p>to get feedback</p>



<a name="148799217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799217">(Nov 29 2018 at 16:41)</a>:</h4>
<p>seems like a minor edit to the struct section</p>



<a name="148799219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799219">(Nov 29 2018 at 16:41)</a>:</h4>
<p>that's even better</p>



<a name="148799238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799238">(Nov 29 2018 at 16:41)</a>:</h4>
<p>we already have an issue for this: <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/34" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/34">https://github.com/rust-rfcs/unsafe-code-guidelines/issues/34</a></p>



<a name="148799289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799289">(Nov 29 2018 at 16:42)</a>:</h4>
<p>ok, any other lingering things we should take care of in the repr discussion?</p>



<a name="148799305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799305">(Nov 29 2018 at 16:42)</a>:</h4>
<p><code>bool</code></p>



<a name="148799324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799324">(Nov 29 2018 at 16:43)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> talk to me about bool</p>



<a name="148799330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799330">(Nov 29 2018 at 16:43)</a>:</h4>
<p>we have had some RFCs on the topic</p>



<a name="148799336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799336">(Nov 29 2018 at 16:43)</a>:</h4>
<p>the T-lang and T-compiler teams committed already to one thing, but we might want to do something that's potentially incompatible to that decision</p>



<a name="148799347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799347">(Nov 29 2018 at 16:43)</a>:</h4>
<p>uh?</p>



<a name="148799352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799352">(Nov 29 2018 at 16:43)</a>:</h4>
<p>I don't really think we can do that :)</p>



<a name="148799358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799358">(Nov 29 2018 at 16:43)</a>:</h4>
<p>basically the T-lang and T-compiler said that <code>bool</code> is equivalent to C <code>_Bool</code></p>



<a name="148799428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799428">(Nov 29 2018 at 16:44)</a>:</h4>
<p>and we might want to go over that and say that <code>bool</code> has a size of <code>1</code>, <code>0 == true</code> and <code>1 == false</code></p>



<a name="148799432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799432">(Nov 29 2018 at 16:44)</a>:</h4>
<p>i may have done a poor job of summarizing consensus etc -- i'm totally open to revisions</p>



<a name="148799452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799452">(Nov 29 2018 at 16:44)</a>:</h4>
<p>is this sort of stronger than C <code>_Bool</code>, in theory?</p>



<a name="148799462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799462">(Nov 29 2018 at 16:44)</a>:</h4>
<p>this wasn't raised in the issue, <span class="user-mention" data-user-id="124289">@rkruppe</span> luckily remember it in the PR</p>



<a name="148799489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799489">(Nov 29 2018 at 16:45)</a>:</h4>
<p>in theory it is incompatible, in practice right now it might not matter, because that's how it is in all platforms that Rust supports</p>



<a name="148799499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799499">(Nov 29 2018 at 16:45)</a>:</h4>
<p>so the concern here is that this will rule out porting Rust to platforms where C has a non-1-sized bool?</p>



<a name="148799508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799508">(Nov 29 2018 at 16:45)</a>:</h4>
<p>no, that's something that we want to support</p>



<a name="148799524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799524">(Nov 29 2018 at 16:45)</a>:</h4>
<p>(I thought I read somewhere than next-gen C or C++ will specify 0 and 1 for false and true but I might hallucinate)</p>



<a name="148799526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799526">(Nov 29 2018 at 16:45)</a>:</h4>
<blockquote>
<p>this wasn't raised in the issue, <span class="user-mention" data-user-id="124289">@rkruppe</span> luckily remember it in the PR</p>
</blockquote>
<p>(which PR?)</p>



<a name="148799532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799532">(Nov 29 2018 at 16:45)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> i think the int/fp pr</p>



<a name="148799536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799536">(Nov 29 2018 at 16:45)</a>:</h4>
<p>ok</p>



<a name="148799540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799540">(Nov 29 2018 at 16:46)</a>:</h4>
<p><a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/49#discussion_r236762111" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/49#discussion_r236762111">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/49#discussion_r236762111</a></p>



<a name="148799601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799601">(Nov 29 2018 at 16:46)</a>:</h4>
<p>we want people to use <code>bool</code> on C FFI, we don't want people to create a <code>c_bool</code> type due to "portability paranoia", so the goals are aligned with the T-Compiler and T-lang decisions</p>



<a name="148799624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799624">(Nov 29 2018 at 16:47)</a>:</h4>
<p>we also might want to guarantee that <code>bool</code> has size 1, and its valid values as integers,</p>



<a name="148799629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799629">(Nov 29 2018 at 16:47)</a>:</h4>
<p>and we don't want to break FFI with platforms in which C <code>_Bool</code> is different than ours</p>



<a name="148799655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799655">(Nov 29 2018 at 16:47)</a>:</h4>
<p>yes ok I just skimmed it</p>



<a name="148799656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799656">(Nov 29 2018 at 16:47)</a>:</h4>
<p>so one idea here was to, if Rust ever supports such a platform, it could warn/error that bool is not a proper c type</p>



<a name="148799704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799704">(Nov 29 2018 at 16:48)</a>:</h4>
<p>I suspect this same thing will arise in other contexts</p>



<a name="148799708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799708">(Nov 29 2018 at 16:48)</a>:</h4>
<p>if we want to say <code>bool == _Bool</code>, then we can't say much</p>



<a name="148799709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799709">(Nov 29 2018 at 16:48)</a>:</h4>
<p>it feels like there is a kind of "general rule of thumb" we should settle</p>



<a name="148799722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799722">(Nov 29 2018 at 16:48)</a>:</h4>
<p>because <code>_Bool</code> is pretty much _implementation-defined_ in the C standard</p>



<a name="148799755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799755">(Nov 29 2018 at 16:49)</a>:</h4>
<p>C20 and C++20 do want to guarantee that <code>0 == false</code> and <code>1 == true</code>, and maybe some day that it has size 1</p>



<a name="148799770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799770">(Nov 29 2018 at 16:49)</a>:</h4>
<p>so why can't we just stick to "like C"?</p>



<a name="148799774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799774">(Nov 29 2018 at 16:49)</a>:</h4>
<p>do you want me to raise this in a lang team meeting? tbh I don't remember what people felt from those prior discussions. I have a sense that the feeling was "let's define to be something useful" -- I think there is an interesting argument about which is the most "useful" here</p>



<a name="148799780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799780">(Nov 29 2018 at 16:49)</a>:</h4>
<p>for repr: size same as C<br>
for validity: the two bit patterns are the same as C's</p>



<a name="148799786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799786">(Nov 29 2018 at 16:49)</a>:</h4>
<blockquote>
<p>so why can't we just stick to "like C"?</p>
</blockquote>
<p>I think the reason is that people find C frustratingly vague</p>



<a name="148799794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799794">(Nov 29 2018 at 16:50)</a>:</h4>
<p>and wind up in practice relying on stronger things</p>



<a name="148799844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799844">(Nov 29 2018 at 16:50)</a>:</h4>
<p>at least that's what I got from the PR comments</p>



<a name="148799851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799851">(Nov 29 2018 at 16:50)</a>:</h4>
<p>I find all of this repr discussion frustratingly vague :P</p>



<a name="148799868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799868">(Nov 29 2018 at 16:50)</a>:</h4>
<p>we can document what this means for the popular platforms</p>



<a name="148799872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799872">(Nov 29 2018 at 16:50)</a>:</h4>
<p>I don't know, I think it is ok to say "like <code>_Bool</code>" now, and resolve this as we go</p>



<a name="148799874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799874">(Nov 29 2018 at 16:50)</a>:</h4>
<p>is this something i should just put as a controversy?</p>



<a name="148799887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799887">(Nov 29 2018 at 16:50)</a>:</h4>
<p>but if we want to guarantee anything else, we probably need to involve T-lang and T-compiler somehow</p>



<a name="148799899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799899">(Nov 29 2018 at 16:51)</a>:</h4>
<p>and document what we've talked about here</p>



<a name="148799904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799904">(Nov 29 2018 at 16:51)</a>:</h4>
<p>seems ok</p>



<a name="148799911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799911">(Nov 29 2018 at 16:51)</a>:</h4>
<p>I think maybe me and <span class="user-mention" data-user-id="137587">@Gankro</span> and <span class="user-mention" data-user-id="124289">@rkruppe</span> could go over this again, and prepare a proposal, and discuss it in the next meeting</p>



<a name="148799916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799916">(Nov 29 2018 at 16:51)</a>:</h4>
<p>I think we can either say "like C" and have a separation section that says "on popular platforms, that means this"</p>



<a name="148799920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799920">(Nov 29 2018 at 16:51)</a>:</h4>
<p>and say "rust doesn't support other platforms yet so that's not <em>formally</em> decided"</p>



<a name="148799922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799922">(Nov 29 2018 at 16:51)</a>:</h4>
<p>ok i'll revise the pr</p>



<a name="148799932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799932">(Nov 29 2018 at 16:51)</a>:</h4>
<p>yes, the docs currently say that <code>bool</code> has size <code>1</code>, but they are not "normative"</p>



<a name="148799934"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799934" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799934">(Nov 29 2018 at 16:51)</a>:</h4>
<p>but yeah it feels like this will come up (e.g., with fn pointers) in a number of places -- or maybe just a handful :)</p>



<a name="148799985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799985">(Nov 29 2018 at 16:52)</a>:</h4>
<p>so, unless there's anything else,are we ready to chat about validity</p>



<a name="148799989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799989">(Nov 29 2018 at 16:52)</a>:</h4>
<p>yay :D</p>



<a name="148799996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799996">(Nov 29 2018 at 16:52)</a>:</h4>
<p>unfortunately I have pretty much 0 time for, uh, about a week...</p>



<a name="148799998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148799998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148799998">(Nov 29 2018 at 16:52)</a>:</h4>
<p><span class="user-mention" data-user-id="126854">@avadacatavra</span> state like <code>_Bool</code> in the PR, that's the safe bet, I'll open an issue just about this, and ping the relevant people, we should just resolve this before the RFC</p>



<a name="148800008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800008">(Nov 29 2018 at 16:52)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> thanks :)</p>



<a name="148800022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800022">(Nov 29 2018 at 16:53)</a>:</h4>
<p>what exactly did we want to say about "validity"?</p>



<a name="148800024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800024">(Nov 29 2018 at 16:53)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> will you be at all hands?</p>



<a name="148800031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800031">(Nov 29 2018 at 16:53)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> mostly i want to see if we've started discussing it</p>



<a name="148800033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800033">(Nov 29 2018 at 16:53)</a>:</h4>
<p><span class="user-mention" data-user-id="126854">@avadacatavra</span> which one? in Feb in Berlin, yes</p>



<a name="148800035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800035">(Nov 29 2018 at 16:53)</a>:</h4>
<p>and if we haven't, what's our starting point</p>



<a name="148800039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800039">(Nov 29 2018 at 16:53)</a>:</h4>
<p>ok</p>



<a name="148800050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800050">(Nov 29 2018 at 16:53)</a>:</h4>
<blockquote>
<p><span class="user-mention" data-user-id="126854">@avadacatavra</span> which one? in Feb in Berlin, yes</p>
</blockquote>
<p>i meant the one next week</p>



<a name="148800051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800051">(Nov 29 2018 at 16:53)</a>:</h4>
<p>but not the mozilla one, no</p>



<a name="148800093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800093">(Nov 29 2018 at 16:54)</a>:</h4>
<p>I have to write some documents for job applications... and I hate every minute of it^^</p>



<a name="148800157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800157">(Nov 29 2018 at 16:55)</a>:</h4>
<p>Speaking of all hands:</p>
<ul>
<li>probably no meeting next week--Niko and I will be in Orlando (you'll be there, right <span class="user-mention" data-user-id="116009">@nikomatsakis</span>?) and there's no telling what scheduling will be like</li>
<li>I won't be at the Rust all hands in Feb...</li>
<li>because I'm moving back to the states at the end of February!</li>
</ul>



<a name="148800175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800175">(Nov 29 2018 at 16:55)</a>:</h4>
<p>The layout of vectors should be finished, and can be merged.</p>



<a name="148800177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800177">(Nov 29 2018 at 16:55)</a>:</h4>
<p>yes, I'll be there next week, and I am sure we won't be avail for meeting...</p>



<a name="148800181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800181">(Nov 29 2018 at 16:55)</a>:</h4>
<p>congrats re: move (I guess?) =)</p>



<a name="148800182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800182">(Nov 29 2018 at 16:55)</a>:</h4>
<p>So, validity. Where will we start? (and then we'll adjorn)</p>



<a name="148800201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800201">(Nov 29 2018 at 16:55)</a>:</h4>
<p>I guess we mostly need a PR to "kick off" the conversation</p>



<a name="148800251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800251">(Nov 29 2018 at 16:56)</a>:</h4>
<p>/me will be in your timezone!</p>



<a name="148800256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800256">(Nov 29 2018 at 16:56)</a>:</h4>
<p>validity of ints etc. is probably the easiest place to start</p>



<a name="148800257"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800257" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800257">(Nov 29 2018 at 16:56)</a>:</h4>
<p>what would be the "issues"</p>



<a name="148800259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800259">(Nov 29 2018 at 16:56)</a>:</h4>
<p>all bit patterns are valid</p>



<a name="148800261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800261">(Nov 29 2018 at 16:56)</a>:</h4>
<p><a href="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/50" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/50">https://github.com/rust-rfcs/unsafe-code-guidelines/issues/50</a> might be a good start.</p>



<a name="148800277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800277">(Nov 29 2018 at 16:56)</a>:</h4>
<p>validity of references is thorny, because they interact with pointers, niches, enum optimizations, DSTs, ...</p>



<a name="148800281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800281">(Nov 29 2018 at 16:56)</a>:</h4>
<p>seems like <span class="user-mention" data-user-id="120791">@RalfJ</span> has some instinct for what has additional "validity" requires beyond the bit-pattern rules</p>



<a name="148800290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800290">(Nov 29 2018 at 16:56)</a>:</h4>
<p>I imagine they can rattle off a list for us :)</p>



<a name="148800293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800293">(Nov 29 2018 at 16:56)</a>:</h4>
<p>we probably need the enum layout part merged first before starting with validity of references</p>



<a name="148800300"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800300" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800300">(Nov 29 2018 at 16:57)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> would you be able to open a PR to open up the discussion?</p>



<a name="148800331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800331">(Nov 29 2018 at 16:57)</a>:</h4>
<p>i'm happy to start discussion in issues before we finalize all writeup merges</p>



<a name="148800335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800335">(Nov 29 2018 at 16:57)</a>:</h4>
<blockquote>
<p>validity of ints etc. is probably the easiest place to start</p>
</blockquote>
<p>oh no ints are subtle</p>



<a name="148800341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800341">(Nov 29 2018 at 16:57)</a>:</h4>
<p>because "bit patterns" include uninitialized data</p>



<a name="148800352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800352">(Nov 29 2018 at 16:57)</a>:</h4>
<p>and we have to talk about whether we want to allow uninitialized ints</p>



<a name="148800366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800366">(Nov 29 2018 at 16:57)</a>:</h4>
<p>why is it always the things that seem easiest that are the hardest.</p>



<a name="148800368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800368">(Nov 29 2018 at 16:57)</a>:</h4>
<p>Does "validity" include discussions of provenance?</p>



<a name="148800372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800372">(Nov 29 2018 at 16:58)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> sounds good--pick a starting point you think is better :D</p>



<a name="148800414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800414">(Nov 29 2018 at 16:58)</a>:</h4>
<blockquote>
<p>Does "validity" include discussions of provenance?</p>
</blockquote>
<p>I hope not :D</p>



<a name="148800416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800416">(Nov 29 2018 at 16:58)</a>:</h4>
<p><span class="user-mention" data-user-id="128323">@Alan Jeffrey</span> do we have an issue about provenance</p>



<a name="148800417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800417">(Nov 29 2018 at 16:58)</a>:</h4>
<blockquote>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> sounds good--pick a starting point you think is better :D</p>
</blockquote>
<p>structs are easy</p>



<a name="148800425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800425">(Nov 29 2018 at 16:58)</a>:</h4>
<p>they are valid if all their fields are valid</p>



<a name="148800426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800426">(Nov 29 2018 at 16:58)</a>:</h4>
<p>maybe that should be a proposed topic</p>



<a name="148800428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800428">(Nov 29 2018 at 16:58)</a>:</h4>
<p>I hope enums will be easy, too^^</p>



<a name="148800448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800448">(Nov 29 2018 at 16:58)</a>:</h4>
<p>Sounds good. So, this is what I have as a summary...</p>



<a name="148800454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800454">(Nov 29 2018 at 16:58)</a>:</h4>
<blockquote>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> would you be able to open a PR to open up the discussion?</p>
</blockquote>
<p>what would that PR do?</p>



<a name="148800461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800461">(Nov 29 2018 at 16:58)</a>:</h4>
<p>that PR would propose the topics for further discussion</p>



<a name="148800465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800465">(Nov 29 2018 at 16:58)</a>:</h4>
<p>lay out common definitions</p>



<a name="148800479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800479">(Nov 29 2018 at 16:59)</a>:</h4>
<p>I dont think I should commit to doing anything before Wed or so</p>



<a name="148800484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800484">(Nov 29 2018 at 16:59)</a>:</h4>
<p>state questions of things to resolve, tricky things, etc.</p>



<a name="148800486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800486">(Nov 29 2018 at 16:59)</a>:</h4>
<p>probably not <em>urgent</em> as we still haven't really wrapped up validity</p>



<a name="148800489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800489">(Nov 29 2018 at 16:59)</a>:</h4>
<p>I really need to get these documents written^^</p>



<a name="148800490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800490">(Nov 29 2018 at 16:59)</a>:</h4>
<p>though it'd be nice to do so by next meeting</p>



<a name="148800507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800507">(Nov 29 2018 at 16:59)</a>:</h4>
<p>but yeah sure I can write that thing, eventually</p>



<a name="148800508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800508">(Nov 29 2018 at 16:59)</a>:</h4>
<p>maybe one of us can try to draft up an outline of interesting questions and run it by you for feedback?</p>



<a name="148800560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800560">(Nov 29 2018 at 17:00)</a>:</h4>
<p>I guess I can look at the repr one to see how they look like?</p>



<a name="148800581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800581">(Nov 29 2018 at 17:00)</a>:</h4>
<p>1. Document what we've said about bool<br>
2. I will do the intro<br>
3. Niko will do enum<br>
4. We'll try to get all the validity stuff merged<br>
5. Ralf will start the validity discussion with a PR next week (possibly with assistance)<br>
6. No meeting next week</p>



<a name="148800582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800582">(Nov 29 2018 at 17:00)</a>:</h4>
<blockquote>
<p>though it'd be nice to do so by next meeting</p>
</blockquote>
<p>that's in 2 weeks, right? easy</p>



<a name="148800604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800604">(Nov 29 2018 at 17:00)</a>:</h4>
<blockquote>
<p>I guess I can look at the repr one to see how they look like?</p>
</blockquote>
<p>yeah <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/5" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/5">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/5</a></p>



<a name="148800623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800623">(Nov 29 2018 at 17:01)</a>:</h4>
<p>/me disappears</p>



<a name="148800629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800629">(Nov 29 2018 at 17:01)</a>:</h4>
<p>i can't next week <span class="emoji emoji-1f3c2" title="snowboarder">:snowboarder:</span></p>



<a name="148800637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800637">(Nov 29 2018 at 17:01)</a>:</h4>
<p>/me will try to open some prs/edit them tonight/tomorrow</p>



<a name="148800641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800641">(Nov 29 2018 at 17:01)</a>:</h4>
<p>I'll delete from the calendar item</p>



<a name="148800702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800702">(Nov 29 2018 at 17:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> so you say single-field structs are trivial, but shouldnt ZST structs be even trivialler?</p>



<a name="148800728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800728">(Nov 29 2018 at 17:02)</a>:</h4>
<p>heh you'd think so</p>



<a name="148800736"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800736" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800736">(Nov 29 2018 at 17:02)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> not in C FFI</p>



<a name="148800737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800737">(Nov 29 2018 at 17:02)</a>:</h4>
<p>and really one depends on the other</p>



<a name="148800740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800740">(Nov 29 2018 at 17:02)</a>:</h4>
<p>i.e., is it "single-field plus ZSTs?"</p>



<a name="148800745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800745">(Nov 29 2018 at 17:02)</a>:</h4>
<p>yeah</p>



<a name="148800756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800756">(Nov 29 2018 at 17:02)</a>:</h4>
<blockquote>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> not in C FFI</p>
</blockquote>
<p>we can leave <em>that</em> part open</p>



<a name="148800785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800785">(Nov 29 2018 at 17:03)</a>:</h4>
<p>but we are unliked to change what <code>repr(C)</code> does</p>



<a name="148800789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800789">(Nov 29 2018 at 17:03)</a>:</h4>
<p>so we might as well document it</p>



<a name="148800793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800793">(Nov 29 2018 at 17:03)</a>:</h4>
<p>I may decide it's not worth it, but it does feel like this is a real question that arises and I don't think there's really much <em>dispute</em> about the answer, just hesitation about how to word it</p>



<a name="148800798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800798">(Nov 29 2018 at 17:03)</a>:</h4>
<p>and as niko said it's kind of needed for single-field stuff</p>



<a name="148800820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800820">(Nov 29 2018 at 17:03)</a>:</h4>
<p>so <span class="user-mention" data-user-id="116009">@nikomatsakis</span> should I mark both ZST and single-field as "writeup needed"?</p>



<a name="148800857"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800857" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800857">(Nov 29 2018 at 17:04)</a>:</h4>
<p>I think so</p>



<a name="148800872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800872">(Nov 29 2018 at 17:04)</a>:</h4>
<p>i gotta run, I guess it might be easier to discuss it with a PR that proposes what to do</p>



<a name="148800885"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800885" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800885">(Nov 29 2018 at 17:04)</a>:</h4>
<p>or in an issue explaining the problems</p>



<a name="148800927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800927">(Nov 29 2018 at 17:05)</a>:</h4>
<p>ack</p>



<a name="148800933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148800933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148800933">(Nov 29 2018 at 17:05)</a>:</h4>
<p>see you!</p>



<a name="148801072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29/near/148801072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2018-11-29.html#148801072">(Nov 29 2018 at 17:06)</a>:</h4>
<p>I submitted <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/51" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/51">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/51</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>